Two fundamentally different switching technologies exist that enable digital communications. The first type, circuit-switched networks, operate by establishing a dedicated connection or circuit between two points, similar to public switched telephone networks (PSTN). A telephone call causes a circuit to be established from the originating phone through the local switching office across trunk lines, to a remote switching office and finally to the intended destination telephone. While such circuit is in place, the call is guaranteed a data path for digitized or analog voice signals regardless of other network activity. The second type packet-switched networks, typically connect computers and establish an asynchronous “virtual” channel between two points. In a packet-switched network, data, such as a voice signal, is divided into small pieces called packets which are then multiplexed onto high capacity connections for transmission. Network hardware delivers packets to specific destinations where the packets are reassembled into the original data set. With packet-switched networks, multiple communications among different computers can proceed concurrently with the network connections shared by different pairs of computers concurrently communicating. Packet-switched networks are, however, sensitive to network capacity. If the network becomes overloaded, there is no guarantee that data will be timely delivered. Despite this drawback, packet-switched networks have become quite popular, particularly as part of the Internet and Intranets, due to their cost effectiveness and performance.
In a packet-switched data network one or more common network protocols hide the technological differences between individual portions of the network, making interconnection between portions of the network independent of the underlying hardware and/or software. A popular network protocol, the Transmission Control Protocol/Internet Protocol (TCP/IP) is utilized by the Internet and Intranets; intranets are private networks such as Local Area Networks (LANs) and Wide Area Networks (WAN). The TCP/IP protocol utilizes universal addressing as well as a software protocol to map the universal addresses into low level machine addresses. For purposes of this discussion, networks which adhere to the TCP/IP protocol will be referred to hereinafter “IP-based” or as utilizing “IP addresses” or “Internet Protocol address”.
It is desirable for communications originating from a PSTN network to terminate at equipment in an IP-based network. Problems arise, however, when a user on a circuit-switched network tries to establish a communication link to a packet-switched data network, and vice versa, due to the disparity in addressing techniques among other differences used by the two types of networks. Accordingly, many of the services currently available on one network are typically not available to communications originating on the other network.
Automatic call distribution (ACD) centers are one such service which has been used successfully on traditional circuit-switched networks. Typically, a number of human operators or “agents” are used to operate telephones or other terminating apparatus to answer incoming calls for a business entity. Such automatic call centers typically are used by companies which service large numbers of incoming calls for sales, support and customer ordering, etc. Generally, a traditional call center consists of routing and switching hardware and a plurality of terminating equipment located on the same Private Branch Exchange (PBX).
In some existing ACD applications, an added service is offered in the PSTN space whereby after a call of the ACD system has been established, the end user is coupled to the ACD system via a time division multiplexing (TDM) 64 kbps circuit. Often when a call comes into an ACD center, the traffic load is such that the user can be placed into a holding pattern for lengthy times. Some systems do provide periodic messages like “your call is important to us, please stay on the line”. Messages of this variety attempt to keep a user engaged. Some systems also give periodic estimates as to how much longer the user has to wait. Drawbacks to such a system are that the end user is not in control. The end users have to wait until the call is eventually answered or until the next periodic estimate is given so that the end users have an idea of where they are in the queue.
U.S. Pat. No. 5,020,095 to Morganstein et al. describes a call processing apparatus which queues calls that are waiting to be connected to a service position. The apparatus calculates a queue position and wait time and transmits the queue data to the calling party. U.S. Pat. No. 5,444,774 to Friedes describes an interactive queuing system for a call center and collects initial information from the caller while the call is in the holding queue. The information input by the caller enables the apparatus to query a database and to retrieve additional information needed to service the call. That information is then displayed to a next available agent as the call is received by that agent.
U.S. Pat. No. 5,561,707 to Katz describes a telephone interface system adapted to select or qualify a set of callers, acquire data from the callers in the set and statistically analyze the acquired data. U.S. Pat. No. 4,788,715 to Lee describes an automatic call distributor system wherein calls waiting in a queue are informed of expected wait time until connection to an agent. The announcements are periodically updated to reassure customers that they are progressing in the queue. The customers are also given the opportunity to leave a message if they do not wish to wait in the queue.
However, as more and more companies offer telephone access to their customer service, sales and support staffs, problems associated with waiting on hold have grown. Such problems include, for example, excessively long waits, full queues that can not accept additional callers, and accidental disconnects. These problems have engendered a high level of frustration and ill will amongst callers. Some companies now routinely inform calling customers on hold how long a current wait is expected to last before a service representative will be available to take the call.